package com.blueocean_health.care.management.mapper;

import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Repository;

import com.blueocean_health.care.management.domain.base.CashRecord;
import com.blueocean_health.care.management.domain.dto.CashRecordTableDto;
import com.blueocean_health.care.management.util.MyMapper;

/**
 * 资金管理-日记账 
 * @author wuyanli
 *
 */
@Repository
public interface CashRecordMapper extends MyMapper<CashRecord> {
	/**
	 * 新增日记账  2017年8月22日09:31:21
	 * @param cashRecord
	 * @return
	 */
	int addCashRecord(CashRecord cashRecord);
	
	/**
	 * 修改现金日记账 2017年8月22日09:32:27
	 * @param cashRecord
	 * @return
	 */
	int updateCashRecordById(CashRecord cashRecord);
	
	/**
	 * 根据Id对该条记录进行逻辑删除 2017年8月22日09:33:16
	 * @param id
	 * @return
	 */
	int deleteCashRecordById(int id);
	/**
	 * 根据Id查询记录信息 2017年8月23日14:14:03
	 * @param id
	 * @return
	 */
	CashRecord getCashRecordById(int id);
	/**
	 * 根据银行流水号查询记录信息 2017年11月30日16:44:07
	 * @param id
	 * @return
	 */
	List<CashRecord> getCashRecordByReceNum(String recepitNum);
	
	/**
	 * 根据筛选条件进行查询  2017年8月22日09:34:33
	 * @param map
	 * @return
	 */
	List<CashRecord> getAllCashRecord(Map<String,Object> map);
	/**
	 * 根据发生日期范围筛选 现金日记账余额表  2017年8月22日18:07:31
	 * @param map
	 * @return
	 */
	List<CashRecordTableDto> getCashBalanceTable(Map<String,String> map);
	/**
	 * 期初余额  2017年9月21日14:35:00
	 * @param map
	 * @return
	 */
	List<CashRecordTableDto> getBeginCashBalance(Map<String,String> map);
	/**
	 * 期末余额  2017年9月21日14:35:15
	 * @param map
	 * @return
	 */
	List<CashRecordTableDto> getEndCashBalance(Map<String,String> map);
}